// 防抖函数和节流函数
export const debounce = (func, wait = 500) => {
	console.log(121)
	let timeout; // 定时器变量
	return function(event) {
		clearTimeout(timeout); // 每次触发时先清除上一次的定时器,然后重新计时
		timeout = setTimeout(() => {
			func.call(this, event)
		}, wait); // 指定 xx ms 后触发真正想进行的操作 handler
	};
}

export const throttle = {
		keyList: {},
		canDoFunction(options = {}) {
			if (!this.keyList[options.key]) {
				this.lockKey(options.key);
				options.success && options.success();
				if (options.time) {
					setTimeout(() => {
						this.releaseKey(options.key)
					}, options.time);
				}
			} else {
				options.fail && options.fail()
			}
		},
		releaseKey(key) {
			this.keyList[key] = false;
		},
		lockKey(key) {
			this.keyList[key] = true;
		}
	
}
